package com.ndood.agent.service.user;

import com.ndood.agent.core.exception.AgentException;
import com.ndood.agent.pojo.system.dto.StaffDto;

public interface AccountInfoService {

	/**
	 * 获取账户信息
	 */
	StaffDto getAccountInfoById(String userId) throws Exception;
	/**
	 * 获取基本账户信息
	 */
	StaffDto getAccountSimpleInfoById(String userId) throws Exception;
	/**
	 * 更新账户信息
	 */
	void updateAccountInfo(StaffDto user) throws Exception;
	/**
	 * 检查手机是否可用 true 可用
	 */
	boolean checkMobile(String mobile);
	/**
	 * 校验邮箱是否可用
	 */
	boolean checkEmail(String email);
	/**
	 * 注册一个账户
	 */
	String registerAccount(StaffDto dto) throws Exception;
	/**
	 * 将邮箱状态变成已激活
	 */
	void activeEmail(String username) throws AgentException;
	/**
	 * 校验密码
	 */
	boolean checkPassword(String userId, String pass);
	/**
	 * 修改密码
	 */
	void changePassword(String userId, String password);
	/**
	 * 根据邮箱获取用户信息
	 */
	StaffDto getAccountSimpleInfoByEmail(String username) throws Exception;
	/**
	 * 根据手机获取用户信息
	 */
	StaffDto getAccountSimpleInfoByMobile(String mobile) throws Exception;

}
